/*
* Copyright (C) 1997-2001 Id Software, Inc.
* 
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option) any later
* version.
* 
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE.
* 
* See the GNU General Public License for more details.
* 
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 59 Temple
* Place - Suite 330, Boston, MA 02111-1307, USA.
*  
*/

// Created on 18.11.2003 by RST.

// $Id: GameSpawn.java,v 1.17 2006/01/21 21:53:32 salomo Exp $
using System;
using Defines = Suake2.UI.Defines;
using Globals = Suake2.UI.Globals;
using Suake2.UI.game.monsters;
using Com = Suake2.UI.qcommon.Com;
using Lib = Suake2.UI.util.Lib;
namespace Suake2.UI.game
{
	
	public class GameSpawn
	{
		public class AnonymousClassEntThinkAdapter:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_item_health";
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameItems.SP_item_health(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter1:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_item_health_small";
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameItems.SP_item_health_small(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter2:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_item_health_large";
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameItems.SP_item_health_large(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter3:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_item_health_mega";
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameItems.SP_item_health_mega(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter4:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_info_player_start";
				}
				
			}
			public override bool think(edict_t ent)
			{
				PlayerClient.SP_info_player_start(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter5:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_info_player_deathmatch";
				}
				
			}
			public override bool think(edict_t ent)
			{
				PlayerClient.SP_info_player_deathmatch(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter6:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_info_player_coop";
				}
				
			}
			public override bool think(edict_t ent)
			{
				PlayerClient.SP_info_player_coop(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter7:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_info_player_intermission";
				}
				
			}
			public override bool think(edict_t ent)
			{
				PlayerClient.SP_info_player_intermission();
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter8:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_func_plat";
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameFunc.SP_func_plat(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter9:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_func_water";
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameFunc.SP_func_water(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter10:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_func_train";
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameFunc.SP_func_train(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter11:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_func_clock";
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_func_clock(ent);
				return true;
			}
		}
		public class AnonymousClassEntThinkAdapter12:EntThinkAdapter
		{
			override public System.String ID
			{
				get
				{
					return "SP_worldspawn";
				}
				
			}
			
			public override bool think(edict_t ent)
			{
				ent.movetype = Defines.MOVETYPE_PUSH;
				ent.solid = Defines.SOLID_BSP;
				ent.inuse = true;
				// since the world doesn't use G_Spawn()
				ent.s.modelindex = 1;
				// world model is always index 1
				//---------------
				// reserve some spots for dead player bodies for coop / deathmatch
				PlayerClient.InitBodyQue();
				// set configstrings for items
				GameItems.SetItemNames();
				if (GameBase.st.nextmap != null)
					GameBase.level.nextmap = GameBase.st.nextmap;
				// make some data visible to the server
				if (ent.message != null && ent.message.Length > 0)
				{
					GameBase.gi.configstring(Defines.CS_NAME, ent.message);
					GameBase.level.level_name = ent.message;
				}
				else
					GameBase.level.level_name = GameBase.level.mapname;
				if (GameBase.st.sky != null && GameBase.st.sky.Length > 0)
					GameBase.gi.configstring(Defines.CS_SKY, GameBase.st.sky);
				else
					GameBase.gi.configstring(Defines.CS_SKY, "unit1_");
				GameBase.gi.configstring(Defines.CS_SKYROTATE, "" + GameBase.st.skyrotate);
				GameBase.gi.configstring(Defines.CS_SKYAXIS, Lib.vtos(GameBase.st.skyaxis));
				GameBase.gi.configstring(Defines.CS_CDTRACK, "" + ent.sounds);
				//UPGRADE_WARNING: Data types in Visual C# might be different.  Verify the accuracy of narrowing conversions. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1042'"
				GameBase.gi.configstring(Defines.CS_MAXCLIENTS, "" + (int) (GameBase.maxclients.value_Renamed));
				// status bar program
				if (GameBase.deathmatch.value_Renamed != 0)
					GameBase.gi.configstring(Defines.CS_STATUSBAR, "" + jake2.game.GameSpawn.dm_statusbar);
				else
					GameBase.gi.configstring(Defines.CS_STATUSBAR, "" + jake2.game.GameSpawn.single_statusbar);
				//---------------
				// help icon for statusbar
				GameBase.gi.imageindex("i_help");
				GameBase.level.pic_health = GameBase.gi.imageindex("i_health");
				GameBase.gi.imageindex("help");
				GameBase.gi.imageindex("field_3");
				if ("".Equals(GameBase.st.gravity))
					GameBase.gi.cvar_set("sv_gravity", "800");
				else
					GameBase.gi.cvar_set("sv_gravity", GameBase.st.gravity);
				GameBase.snd_fry = GameBase.gi.soundindex("player/fry.wav");
				// standing in lava / slime
				GameItems.PrecacheItem(GameItems.FindItem("Blaster"));
				GameBase.gi.soundindex("player/lava1.wav");
				GameBase.gi.soundindex("player/lava2.wav");
				GameBase.gi.soundindex("misc/pc_up.wav");
				GameBase.gi.soundindex("misc/talk1.wav");
				GameBase.gi.soundindex("misc/udeath.wav");
				// gibs
				GameBase.gi.soundindex("items/respawn1.wav");
				// sexed sounds
				GameBase.gi.soundindex("*death1.wav");
				GameBase.gi.soundindex("*death2.wav");
				GameBase.gi.soundindex("*death3.wav");
				GameBase.gi.soundindex("*death4.wav");
				GameBase.gi.soundindex("*fall1.wav");
				GameBase.gi.soundindex("*fall2.wav");
				GameBase.gi.soundindex("*gurp1.wav");
				// drowning damage
				GameBase.gi.soundindex("*gurp2.wav");
				GameBase.gi.soundindex("*jump1.wav");
				// player jump
				GameBase.gi.soundindex("*pain25_1.wav");
				GameBase.gi.soundindex("*pain25_2.wav");
				GameBase.gi.soundindex("*pain50_1.wav");
				GameBase.gi.soundindex("*pain50_2.wav");
				GameBase.gi.soundindex("*pain75_1.wav");
				GameBase.gi.soundindex("*pain75_2.wav");
				GameBase.gi.soundindex("*pain100_1.wav");
				GameBase.gi.soundindex("*pain100_2.wav");
				// sexed models
				// THIS ORDER MUST MATCH THE DEFINES IN g_local.h
				// you can add more, max 15
				GameBase.gi.modelindex("#w_blaster.md2");
				GameBase.gi.modelindex("#w_shotgun.md2");
				GameBase.gi.modelindex("#w_sshotgun.md2");
				GameBase.gi.modelindex("#w_machinegun.md2");
				GameBase.gi.modelindex("#w_chaingun.md2");
				GameBase.gi.modelindex("#a_grenades.md2");
				GameBase.gi.modelindex("#w_glauncher.md2");
				GameBase.gi.modelindex("#w_rlauncher.md2");
				GameBase.gi.modelindex("#w_hyperblaster.md2");
				GameBase.gi.modelindex("#w_railgun.md2");
				GameBase.gi.modelindex("#w_bfg.md2");
				//-------------------
				GameBase.gi.soundindex("player/gasp1.wav");
				// gasping for air
				GameBase.gi.soundindex("player/gasp2.wav");
				// head breaking surface, not gasping
				GameBase.gi.soundindex("player/watr_in.wav");
				// feet hitting water
				GameBase.gi.soundindex("player/watr_out.wav");
				// feet leaving water
				GameBase.gi.soundindex("player/watr_un.wav");
				// head going underwater
				GameBase.gi.soundindex("player/u_breath1.wav");
				GameBase.gi.soundindex("player/u_breath2.wav");
				GameBase.gi.soundindex("items/pkup.wav");
				// bonus item pickup
				GameBase.gi.soundindex("world/land.wav");
				// landing thud
				GameBase.gi.soundindex("misc/h2ohit1.wav");
				// landing splash
				GameBase.gi.soundindex("items/damage.wav");
				GameBase.gi.soundindex("items/protect.wav");
				GameBase.gi.soundindex("items/protect4.wav");
				GameBase.gi.soundindex("weapons/noammo.wav");
				GameBase.gi.soundindex("infantry/inflies1.wav");
				GameBase.sm_meat_index = GameBase.gi.modelindex("models/objects/gibs/sm_meat/tris.md2");
				GameBase.gi.modelindex("models/objects/gibs/arm/tris.md2");
				GameBase.gi.modelindex("models/objects/gibs/bone/tris.md2");
				GameBase.gi.modelindex("models/objects/gibs/bone2/tris.md2");
				GameBase.gi.modelindex("models/objects/gibs/chest/tris.md2");
				GameBase.gi.modelindex("models/objects/gibs/skull/tris.md2");
				GameBase.gi.modelindex("models/objects/gibs/head2/tris.md2");
				//
				// Setup light animation tables. 'a' is total darkness, 'z' is
				// doublebright.
				//
				// 0 normal
				GameBase.gi.configstring(Defines.CS_LIGHTS + 0, "m");
				// 1 FLICKER (first variety)
				GameBase.gi.configstring(Defines.CS_LIGHTS + 1, "mmnmmommommnonmmonqnmmo");
				// 2 SLOW STRONG PULSE
				GameBase.gi.configstring(Defines.CS_LIGHTS + 2, "abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba");
				// 3 CANDLE (first variety)
				GameBase.gi.configstring(Defines.CS_LIGHTS + 3, "mmmmmaaaaammmmmaaaaaabcdefgabcdefg");
				// 4 FAST STROBE
				GameBase.gi.configstring(Defines.CS_LIGHTS + 4, "mamamamamama");
				// 5 GENTLE PULSE 1
				GameBase.gi.configstring(Defines.CS_LIGHTS + 5, "jklmnopqrstuvwxyzyxwvutsrqponmlkj");
				// 6 FLICKER (second variety)
				GameBase.gi.configstring(Defines.CS_LIGHTS + 6, "nmonqnmomnmomomno");
				// 7 CANDLE (second variety)
				GameBase.gi.configstring(Defines.CS_LIGHTS + 7, "mmmaaaabcdefgmmmmaaaammmaamm");
				// 8 CANDLE (third variety)
				GameBase.gi.configstring(Defines.CS_LIGHTS + 8, "mmmaaammmaaammmabcdefaaaammmmabcdefmmmaaaa");
				// 9 SLOW STROBE (fourth variety)
				GameBase.gi.configstring(Defines.CS_LIGHTS + 9, "aaaaaaaazzzzzzzz");
				// 10 FLUORESCENT FLICKER
				GameBase.gi.configstring(Defines.CS_LIGHTS + 10, "mmamammmmammamamaaamammma");
				// 11 SLOW PULSE NOT FADE TO BLACK
				GameBase.gi.configstring(Defines.CS_LIGHTS + 11, "abcdefghijklmnopqrrqponmlkjihgfedcba");
				// styles 32-62 are assigned by the light program for switchable
				// lights
				// 63 testing
				GameBase.gi.configstring(Defines.CS_LIGHTS + 63, "a");
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter13' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter13:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter13(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "func_wall";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_func_wall(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter14' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter14:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter14(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_func_object";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_func_object(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter15' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter15:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter15(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_func_timer";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameFunc.SP_func_timer(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter16' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter16:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter16(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_func_explosive";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_func_explosive(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter17' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter17:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter17(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_always";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_always(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter18' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter18:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter18(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_once";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_once(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter19' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter19:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter19(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_multiple";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_multiple(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter20' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter20:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter20(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_relay";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_relay(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter21' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter21:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter21(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_push";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_push(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter22' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter22:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter22(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_hurt";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_hurt(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter23' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter23:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter23(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_key";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_key(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter24' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter24:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter24(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_counter";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_counter(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter25' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter25:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter25(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_gravity";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_gravity(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter26' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter26:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter26(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_trigger_monsterjump";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTrigger.SP_trigger_monsterjump(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter27' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter27:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter27(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_temp_entity";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_temp_entity(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter28' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter28:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter28(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_speaker";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_speaker(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter29' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter29:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter29(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_explosion";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_explosion(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter30' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter30:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter30(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_changelevel";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_changelevel(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter31' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter31:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter31(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_secret";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_secret(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter32' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter32:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter32(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_goal";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_goal(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter33' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter33:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter33(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_splash";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_splash(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter34' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter34:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter34(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_spawner";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_spawner(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter35' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter35:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter35(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_blaster";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_blaster(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter36' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter36:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter36(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_crosslevel_trigger";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_crosslevel_trigger(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter37' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter37:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter37(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_crosslevel_target";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_crosslevel_target(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter38' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter38:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter38(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_laser";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_laser(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter39' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter39:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter39(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_help";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_help(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter40' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter40:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter40(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_actor";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Actor.SP_target_actor(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter41' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter41:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter41(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_lightramp";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_lightramp(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter42' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter42:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter42(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_earthquake";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTarget.SP_target_earthquake(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter43' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter43:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter43(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_character";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_target_character(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter44' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter44:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter44(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_target_string";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_target_string(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter45' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter45:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter45(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_viewthing";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_viewthing(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter46' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter46:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter46(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_light";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_light(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter47' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter47:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter47(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_light_mine1";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_light_mine1(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter48' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter48:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter48(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_light_mine2";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_light_mine2(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter49' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter49:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter49(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_info_null";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_info_null(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter50' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter50:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter50(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_info_null";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_info_null(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter51' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter51:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter51(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "info_notnull";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_info_notnull(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter52' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter52:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter52(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_path_corner";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_path_corner(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter53' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter53:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter53(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_point_combat";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_point_combat(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter54' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter54:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter54(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_explobox";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_explobox(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter55' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter55:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter55(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_banner";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_banner(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter56' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter56:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter56(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_satellite_dish";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_satellite_dish(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter57' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter57:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter57(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_actor";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Actor.SP_misc_actor(ent);
				return false;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter58' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter58:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter58(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_gib_arm";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_gib_arm(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter59' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter59:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter59(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_gib_leg";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_gib_leg(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter60' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter60:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter60(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_gib_head";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_gib_head(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter61' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter61:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter61(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_insane";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Insane.SP_misc_insane(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter62' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter62:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter62(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_deadsoldier";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_deadsoldier(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter63' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter63:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter63(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_viper";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_viper(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter64' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter64:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter64(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_viper_bomb";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_viper_bomb(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter65' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter65:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter65(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_bigviper";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_bigviper(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter66' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter66:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter66(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_strogg_ship";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_strogg_ship(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter67' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter67:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter67(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_teleporter";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_teleporter(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter68' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter68:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter68(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_blackhole";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_blackhole(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter69' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter69:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter69(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_eastertank";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_eastertank(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter70' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter70:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter70(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_easterchick";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_easterchick(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter71' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter71:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter71(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_misc_easterchick2";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_misc_easterchick2(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter72' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter72:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter72(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_berserk";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Berserk.SP_monster_berserk(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter73' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter73:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter73(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_gladiator";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Gladiator.SP_monster_gladiator(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter74' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter74:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter74(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_gunner";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Gunner.SP_monster_gunner(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter75' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter75:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter75(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_infantry";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Infantry.SP_monster_infantry(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter76' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter76:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter76(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_medic";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Medic.SP_monster_medic(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter77' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter77:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter77(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_flipper";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Flipper.SP_monster_flipper(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter78' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter78:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter78(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_chick";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Chick.SP_monster_chick(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter79' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter79:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter79(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_flyer";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Flyer.SP_monster_flyer(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter80' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter80:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter80(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_brain";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Brain.SP_monster_brain(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter81' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter81:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter81(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_floater";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Float.SP_monster_floater(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter82' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter82:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter82(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_hover";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Hover.SP_monster_hover(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter83' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter83:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter83(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_boss2";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Boss2.SP_monster_boss2(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter84' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter84:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter84(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_boss3_stand";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Boss3.SP_monster_boss3_stand(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter85' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter85:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter85(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_jorg";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				M_Boss31.SP_monster_jorg(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter86' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter86:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter86(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_monster_commander_body";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameMisc.SP_monster_commander_body(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter87' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter87:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter87(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_turret_breach";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTurret.SP_turret_breach(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter88' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter88:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter88(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_turret_base";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTurret.SP_turret_base(ent);
				return true;
			}
		}
		//UPGRADE_NOTE: Field 'EnclosingInstance' was added to class 'AnonymousClassEntThinkAdapter89' to access its enclosing instance. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1019'"
		public class AnonymousClassEntThinkAdapter89:EntThinkAdapter
		{
			public AnonymousClassEntThinkAdapter89(GameSpawn enclosingInstance)
			{
				InitBlock(enclosingInstance);
			}
			private void  InitBlock(GameSpawn enclosingInstance)
			{
				this.enclosingInstance = enclosingInstance;
			}
			private GameSpawn enclosingInstance;
			override public System.String ID
			{
				get
				{
					return "SP_turret_driver";
				}
				
			}
			public GameSpawn Enclosing_Instance
			{
				get
				{
					return enclosingInstance;
				}
				
			}
			public override bool think(edict_t ent)
			{
				GameTurret.SP_turret_driver(ent);
				return true;
			}
		}
		
		//UPGRADE_NOTE: The initialization of  'SP_item_health' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_item_health;
		
		//UPGRADE_NOTE: The initialization of  'SP_item_health_small' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_item_health_small;
		
		//UPGRADE_NOTE: The initialization of  'SP_item_health_large' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_item_health_large;
		
		//UPGRADE_NOTE: The initialization of  'SP_item_health_mega' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_item_health_mega;
		
		//UPGRADE_NOTE: The initialization of  'SP_info_player_start' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_info_player_start;
		
		//UPGRADE_NOTE: The initialization of  'SP_info_player_deathmatch' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_info_player_deathmatch;
		
		//UPGRADE_NOTE: The initialization of  'SP_info_player_coop' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_info_player_coop;
		
		//UPGRADE_NOTE: The initialization of  'SP_info_player_intermission' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_info_player_intermission;
		
		//UPGRADE_NOTE: The initialization of  'SP_func_plat' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_func_plat;
		
		
		//UPGRADE_NOTE: The initialization of  'SP_func_water' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_func_water;
		
		//UPGRADE_NOTE: The initialization of  'SP_func_train' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_func_train;
		
		//UPGRADE_NOTE: The initialization of  'SP_func_clock' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_func_clock;
		
		/// <summary> QUAKED worldspawn (0 0 0) ?
		/// 
		/// Only used for the world. "sky" environment map name "skyaxis" vector axis
		/// for rotating sky "skyrotate" speed of rotation in degrees/second "sounds"
		/// music cd track number "gravity" 800 is default gravity "message" text to
		/// print at user logon
		/// </summary>
		
		//UPGRADE_NOTE: The initialization of  'SP_worldspawn' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static EntThinkAdapter SP_worldspawn;
		
		/// <summary> ED_NewString.</summary>
		internal static System.String ED_NewString(System.String string_Renamed)
		{
			
			int l = string_Renamed.Length;
			System.Text.StringBuilder newb = new System.Text.StringBuilder(l);
			
			for (int i = 0; i < l; i++)
			{
				char c = string_Renamed[i];
				if (c == '\\' && i < l - 1)
				{
					c = string_Renamed[++i];
					if (c == 'n')
						newb.Append('\n');
					else
						newb.Append('\\');
				}
				else
					newb.Append(c);
			}
			
			return newb.ToString();
		}
		
		/// <summary> ED_ParseField
		/// 
		/// Takes a key/value pair and sets the binary values in an edict.
		/// </summary>
		internal static void  ED_ParseField(System.String key, System.String value_Renamed, edict_t ent)
		{
			
			if (key.Equals("nextmap"))
				Com.Println("nextmap: " + value_Renamed);
			if (!GameBase.st.set_Renamed(key, value_Renamed))
				if (!ent.setField(key, value_Renamed))
					GameBase.gi.dprintf("??? The key [" + key + "] is not a field\n");
		}
		
		/// <summary> ED_ParseEdict
		/// 
		/// Parses an edict out of the given string, returning the new position ed
		/// should be a properly initialized empty edict.
		/// </summary>
		
		internal static void  ED_ParseEdict(Com.ParseHelp ph, edict_t ent)
		{
			
			bool init;
			System.String keyname;
			System.String com_token;
			init = false;
			
			GameBase.st = new spawn_temp_t();
			while (true)
			{
				
				// parse key
				com_token = Com.Parse(ph);
				if (com_token.Equals("}"))
					break;
				
				if (ph.Eof)
					GameBase.gi.error("ED_ParseEntity: EOF without closing brace");
				
				keyname = com_token;
				
				// parse value
				com_token = Com.Parse(ph);
				
				if (ph.Eof)
					GameBase.gi.error("ED_ParseEntity: EOF without closing brace");
				
				if (com_token.Equals("}"))
					GameBase.gi.error("ED_ParseEntity: closing brace without data");
				
				init = true;
				// keynames with a leading underscore are used for utility comments,
				// and are immediately discarded by quake
				if (keyname[0] == '_')
					continue;
				
				ED_ParseField(keyname.ToLower(), com_token, ent);
			}
			
			if (!init)
			{
				GameUtil.G_ClearEdict(ent);
			}
			
			return ;
		}
		
		/// <summary> G_FindTeams
		/// 
		/// Chain together all entities with a matching team field.
		/// 
		/// All but the first will have the FL_TEAMSLAVE flag set. All but the last
		/// will have the teamchain field set to the next one.
		/// </summary>
		
		internal static void  G_FindTeams()
		{
			edict_t e, e2, chain;
			int i, j;
			int c, c2;
			c = 0;
			c2 = 0;
			for (i = 1; i < GameBase.num_edicts; i++)
			{
				e = GameBase.g_edicts[i];
				
				if (!e.inuse)
					continue;
				if (e.team == null)
					continue;
				if ((e.flags & Defines.FL_TEAMSLAVE) != 0)
					continue;
				chain = e;
				e.teammaster = e;
				c++;
				c2++;
				
				for (j = i + 1; j < GameBase.num_edicts; j++)
				{
					e2 = GameBase.g_edicts[j];
					if (!e2.inuse)
						continue;
					if (null == e2.team)
						continue;
					if ((e2.flags & Defines.FL_TEAMSLAVE) != 0)
						continue;
					if (0 == Lib.strcmp(e.team, e2.team))
					{
						c2++;
						chain.teamchain = e2;
						e2.teammaster = e;
						chain = e2;
						e2.flags |= Defines.FL_TEAMSLAVE;
					}
				}
			}
		}
		
		/// <summary> SpawnEntities
		/// 
		/// Creates a server's entity / program execution context by parsing textual
		/// entity definitions out of an ent file.
		/// </summary>
		
		public static void  SpawnEntities(System.String mapname, System.String entities, System.String spawnpoint)
		{
			
			Com.dprintln("SpawnEntities(), mapname=" + mapname);
			edict_t ent;
			int inhibit;
			System.String com_token;
			int i;
			float skill_level;
			//skill.value =2.0f;
			//UPGRADE_WARNING: Data types in Visual C# might be different.  Verify the accuracy of narrowing conversions. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1042'"
			skill_level = (float) System.Math.Floor(GameBase.skill.value_Renamed);
			
			if (skill_level < 0)
				skill_level = 0;
			if (skill_level > 3)
				skill_level = 3;
			if (GameBase.skill.value_Renamed != skill_level)
				GameBase.gi.cvar_forceset("skill", "" + skill_level);
			
			PlayerClient.SaveClientData();
			
			GameBase.level = new level_locals_t();
			for (int n = 0; n < GameBase.game.maxentities; n++)
			{
				GameBase.g_edicts[n] = new edict_t(n);
			}
			
			GameBase.level.mapname = mapname;
			GameBase.game.spawnpoint = spawnpoint;
			
			// set client fields on player ents
			for (i = 0; i < GameBase.game.maxclients; i++)
				GameBase.g_edicts[i + 1].client = GameBase.game.clients[i];
			
			ent = null;
			inhibit = 0;
			
			Com.ParseHelp ph = new Com.ParseHelp(entities);
			
			while (true)
			{
				// parse the opening brace
				
				com_token = Com.Parse(ph);
				if (ph.Eof)
					break;
				if (!com_token.StartsWith("{"))
					GameBase.gi.error("ED_LoadFromFile: found " + com_token + " when expecting {");
				
				if (ent == null)
					ent = GameBase.g_edicts[0];
				else
					ent = GameUtil.G_Spawn();
				
				ED_ParseEdict(ph, ent);
				Com.DPrintf("spawning ent[" + ent.index + "], classname=" + ent.classname + ", flags= " + System.Convert.ToString(ent.spawnflags, 16));
				
				// yet another map hack
				if (0 == Lib.Q_stricmp(GameBase.level.mapname, "command") && 0 == Lib.Q_stricmp(ent.classname, "trigger_once") && 0 == Lib.Q_stricmp(ent.model, "*27"))
					ent.spawnflags &= ~ Defines.SPAWNFLAG_NOT_HARD;
				
				// remove things (except the world) from different skill levels or
				// deathmatch
				if (ent != GameBase.g_edicts[0])
				{
					if (GameBase.deathmatch.value_Renamed != 0)
					{
						if ((ent.spawnflags & Defines.SPAWNFLAG_NOT_DEATHMATCH) != 0)
						{
							
							Com.DPrintf("->inhibited.\n");
							GameUtil.G_FreeEdict(ent);
							inhibit++;
							continue;
						}
					}
					else
					{
						if (((GameBase.skill.value_Renamed == 0) && (ent.spawnflags & Defines.SPAWNFLAG_NOT_EASY) != 0) || ((GameBase.skill.value_Renamed == 1) && (ent.spawnflags & Defines.SPAWNFLAG_NOT_MEDIUM) != 0) || (((GameBase.skill.value_Renamed == 2) || (GameBase.skill.value_Renamed == 3)) && (ent.spawnflags & Defines.SPAWNFLAG_NOT_HARD) != 0))
						{
							
							Com.DPrintf("->inhibited.\n");
							GameUtil.G_FreeEdict(ent);
							inhibit++;
							
							continue;
						}
					}
					
					ent.spawnflags &= ~ (Defines.SPAWNFLAG_NOT_EASY | Defines.SPAWNFLAG_NOT_MEDIUM | Defines.SPAWNFLAG_NOT_HARD | Defines.SPAWNFLAG_NOT_COOP | Defines.SPAWNFLAG_NOT_DEATHMATCH);
				}
				ED_CallSpawn(ent);
				Com.DPrintf("\n");
			}
			Com.DPrintf("player skill level:" + GameBase.skill.value_Renamed + "\n");
			Com.DPrintf(inhibit + " entities inhibited.\n");
			i = 1;
			G_FindTeams();
			PlayerTrail.Init();
		}
		
		internal static System.String single_statusbar = "yb	-24 " + "xv	0 " + "hnum " + "xv	50 " + "pic 0 " + "if 2 " + "	xv	100 " + "	anum " + "	xv	150 " + "	pic 2 " + "endif " + "if 4 " + "	xv	200 " + "	rnum " + "	xv	250 " + "	pic 4 " + "endif " + "if 6 " + "	xv	296 " + "	pic 6 " + "endif " + "yb	-50 " + "if 7 " + "	xv	0 " + "	pic 7 " + "	xv	26 " + "	yb	-42 " + "	stat_string 8 " + "	yb	-50 " + "endif " + "if 9 " + "	xv	262 " + "	num	2	10 " + "	xv	296 " + "	pic	9 " + "endif " + "if 11 " + "	xv	148 " + "	pic	11 " + "endif ";
		
		internal static System.String dm_statusbar = "yb	-24 " + "xv	0 " + "hnum " + "xv	50 " + "pic 0 " + "if 2 " + "	xv	100 " + "	anum " + "	xv	150 " + "	pic 2 " + "endif " + "if 4 " + "	xv	200 " + "	rnum " + "	xv	250 " + "	pic 4 " + "endif " + "if 6 " + "	xv	296 " + "	pic 6 " + "endif " + "yb	-50 " + "if 7 " + "	xv	0 " + "	pic 7 " + "	xv	26 " + "	yb	-42 " + "	stat_string 8 " + "	yb	-50 " + "endif " + "if 9 " + "	xv	246 " + "	num	2	10 " + "	xv	296 " + "	pic	9 " + "endif " + "if 11 " + "	xv	148 " + "	pic	11 " + "endif " + "xr	-50 " + "yt 2 " + "num 3 14 " + "if 17 " + "xv 0 " + "yb -58 " + "string2 \"SPECTATOR MODE\" " + "endif " + "if 16 " + "xv 0 " + "yb -68 " + "string \"Chasing\" " + "xv 64 " + "stat_string 16 " + "endif ";
		
		//UPGRADE_NOTE: The initialization of  'spawns' was moved to static method 'jake2.game.GameSpawn'. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1005'"
		internal static spawn_t[] spawns;
		
		/// <summary> ED_CallSpawn
		/// 
		/// Finds the spawn function for the entity and calls it.
		/// </summary>
		public static void  ED_CallSpawn(edict_t ent)
		{
			
			spawn_t s;
			gitem_t item;
			int i;
			if (null == ent.classname)
			{
				GameBase.gi.dprintf("ED_CallSpawn: null classname\n");
				return ;
			} // check item spawn functions
			for (i = 1; i < GameBase.game.num_items; i++)
			{
				
				item = GameItemList.itemlist[i];
				
				if (item == null)
					GameBase.gi.error("ED_CallSpawn: null item in pos " + i);
				
				if (item.classname == null)
					continue;
				if (item.classname.ToUpper().Equals(ent.classname.ToUpper()))
				{
					// found it
					GameItems.SpawnItem(ent, item);
					return ;
				}
			} // check normal spawn functions
			
			for (i = 0; (s = spawns[i]) != null && s.name != null; i++)
			{
				if (s.name.ToUpper().Equals(ent.classname.ToUpper()))
				{
					// found it
					
					if (s.spawn == null)
						GameBase.gi.error("ED_CallSpawn: null-spawn on index=" + i);
					s.spawn.think(ent);
					return ;
				}
			}
			GameBase.gi.dprintf(ent.classname + " doesn't have a spawn function\n");
		}
		static GameSpawn()
		{
			SP_item_health = new AnonymousClassEntThinkAdapter();
			SP_item_health_small = new AnonymousClassEntThinkAdapter1();
			SP_item_health_large = new AnonymousClassEntThinkAdapter2();
			SP_item_health_mega = new AnonymousClassEntThinkAdapter3();
			SP_info_player_start = new AnonymousClassEntThinkAdapter4();
			SP_info_player_deathmatch = new AnonymousClassEntThinkAdapter5();
			SP_info_player_coop = new AnonymousClassEntThinkAdapter6();
			SP_info_player_intermission = new AnonymousClassEntThinkAdapter7();
			SP_func_plat = new AnonymousClassEntThinkAdapter8();
			SP_func_water = new AnonymousClassEntThinkAdapter9();
			SP_func_train = new AnonymousClassEntThinkAdapter10();
			SP_func_clock = new AnonymousClassEntThinkAdapter11();
			SP_worldspawn = new AnonymousClassEntThinkAdapter12();
			spawns = new spawn_t[]{new spawn_t("item_health", SP_item_health), new spawn_t("item_health_small", SP_item_health_small), new spawn_t("item_health_large", SP_item_health_large), new spawn_t("item_health_mega", SP_item_health_mega), new spawn_t("info_player_start", SP_info_player_start), new spawn_t("info_player_deathmatch", SP_info_player_deathmatch), new spawn_t("info_player_coop", SP_info_player_coop), new spawn_t("info_player_intermission", SP_info_player_intermission), new spawn_t("func_plat", SP_func_plat), new spawn_t("func_button", GameFunc.SP_func_button), new spawn_t("func_door", GameFunc.SP_func_door), new spawn_t("func_door_secret", GameFunc.SP_func_door_secret), new spawn_t("func_door_rotating", GameFunc.SP_func_door_rotating), new spawn_t("func_rotating", GameFunc.SP_func_rotating), new spawn_t("func_train", SP_func_train), new spawn_t("func_water", SP_func_water), new spawn_t("func_conveyor", GameFunc.SP_func_conveyor), new spawn_t("func_areaportal", GameMisc.SP_func_areaportal), new spawn_t("func_clock", SP_func_clock), new spawn_t("func_wall", new AnonymousClassEntThinkAdapter13(this)), new spawn_t("func_object", new AnonymousClassEntThinkAdapter14(this)), new spawn_t("func_timer", new AnonymousClassEntThinkAdapter15(this)), new spawn_t("func_explosive", new AnonymousClassEntThinkAdapter16(this)), new spawn_t("func_killbox", GameFunc.SP_func_killbox), new spawn_t("trigger_always", new AnonymousClassEntThinkAdapter17(this)), new spawn_t("trigger_once", new AnonymousClassEntThinkAdapter18(this)), new spawn_t("trigger_multiple", new AnonymousClassEntThinkAdapter19(this)), new spawn_t("trigger_relay", new AnonymousClassEntThinkAdapter20(this)), new spawn_t("trigger_push", new AnonymousClassEntThinkAdapter21(this)), new spawn_t("trigger_hurt", new AnonymousClassEntThinkAdapter22(this)), new spawn_t("trigger_key", new AnonymousClassEntThinkAdapter23(this)), new spawn_t("trigger_counter", new AnonymousClassEntThinkAdapter24(this)), new spawn_t("trigger_elevator", GameFunc.
				SP_trigger_elevator), new spawn_t("trigger_gravity", new AnonymousClassEntThinkAdapter25(this)), new spawn_t("trigger_monsterjump", new AnonymousClassEntThinkAdapter26(this)), new spawn_t("target_temp_entity", new AnonymousClassEntThinkAdapter27(this)), new spawn_t("target_speaker", new AnonymousClassEntThinkAdapter28(this)), new spawn_t("target_explosion", new AnonymousClassEntThinkAdapter29(this)), new spawn_t("target_changelevel", new AnonymousClassEntThinkAdapter30(this)), new spawn_t("target_secret", new AnonymousClassEntThinkAdapter31(this)), new spawn_t("target_goal", new AnonymousClassEntThinkAdapter32(this)), new spawn_t("target_splash", new AnonymousClassEntThinkAdapter33(this)), new spawn_t("target_spawner", new AnonymousClassEntThinkAdapter34(this)), new spawn_t("target_blaster", new AnonymousClassEntThinkAdapter35(this)), new spawn_t("target_crosslevel_trigger", new AnonymousClassEntThinkAdapter36(this)), new spawn_t("target_crosslevel_target", new AnonymousClassEntThinkAdapter37(this)), new spawn_t("target_laser", new AnonymousClassEntThinkAdapter38(this)), new spawn_t("target_help", new AnonymousClassEntThinkAdapter39(this)), new spawn_t("target_actor", new AnonymousClassEntThinkAdapter40(this)), new spawn_t("target_lightramp", new AnonymousClassEntThinkAdapter41(this)), new spawn_t("target_earthquake", new AnonymousClassEntThinkAdapter42(this)), new spawn_t("target_character", new AnonymousClassEntThinkAdapter43(this)), new spawn_t("target_string", new AnonymousClassEntThinkAdapter44(this)), new spawn_t("worldspawn", SP_worldspawn), new spawn_t("viewthing", new AnonymousClassEntThinkAdapter45(this)), new spawn_t("light", new AnonymousClassEntThinkAdapter46(this)), new spawn_t("light_mine1", new AnonymousClassEntThinkAdapter47(this)), new spawn_t("light_mine2", new AnonymousClassEntThinkAdapter48(this)), new spawn_t("info_null", new AnonymousClassEntThinkAdapter49(this)), new spawn_t("func_group", new AnonymousClassEntThinkAdapter50(this)), new spawn_t("info_notnull", new 
				AnonymousClassEntThinkAdapter51(this)), new spawn_t("path_corner", new AnonymousClassEntThinkAdapter52(this)), new spawn_t("point_combat", new AnonymousClassEntThinkAdapter53(this)), new spawn_t("misc_explobox", new AnonymousClassEntThinkAdapter54(this)), new spawn_t("misc_banner", new AnonymousClassEntThinkAdapter55(this)), new spawn_t("misc_satellite_dish", new AnonymousClassEntThinkAdapter56(this)), new spawn_t("misc_actor", new AnonymousClassEntThinkAdapter57(this)), new spawn_t("misc_gib_arm", new AnonymousClassEntThinkAdapter58(this)), new spawn_t("misc_gib_leg", new AnonymousClassEntThinkAdapter59(this)), new spawn_t("misc_gib_head", new AnonymousClassEntThinkAdapter60(this)), new spawn_t("misc_insane", new AnonymousClassEntThinkAdapter61(this)), new spawn_t("misc_deadsoldier", new AnonymousClassEntThinkAdapter62(this)), new spawn_t("misc_viper", new AnonymousClassEntThinkAdapter63(this)), new spawn_t("misc_viper_bomb", new AnonymousClassEntThinkAdapter64(this)), new spawn_t("misc_bigviper", new AnonymousClassEntThinkAdapter65(this)), new spawn_t("misc_strogg_ship", new AnonymousClassEntThinkAdapter66(this)), new spawn_t("misc_teleporter", new AnonymousClassEntThinkAdapter67(this)), new spawn_t("misc_teleporter_dest", GameMisc.SP_misc_teleporter_dest), new spawn_t("misc_blackhole", new AnonymousClassEntThinkAdapter68(this)), new spawn_t("misc_eastertank", new AnonymousClassEntThinkAdapter69(this)), new spawn_t("misc_easterchick", new AnonymousClassEntThinkAdapter70(this)), new spawn_t("misc_easterchick2", new AnonymousClassEntThinkAdapter71(this)), new spawn_t("monster_berserk", new AnonymousClassEntThinkAdapter72(this)), new spawn_t("monster_gladiator", new AnonymousClassEntThinkAdapter73(this)), new spawn_t("monster_gunner", new AnonymousClassEntThinkAdapter74(this)), new spawn_t("monster_infantry", new AnonymousClassEntThinkAdapter75(this)), new spawn_t("monster_soldier_light", M_Soldier.SP_monster_soldier_light), new spawn_t("monster_soldier", M_Soldier.SP_monster_soldier), new 
				spawn_t("monster_soldier_ss", M_Soldier.SP_monster_soldier_ss), new spawn_t("monster_tank", M_Tank.SP_monster_tank), new spawn_t("monster_tank_commander", M_Tank.SP_monster_tank), new spawn_t("monster_medic", new AnonymousClassEntThinkAdapter76(this)), new spawn_t("monster_flipper", new AnonymousClassEntThinkAdapter77(this)), new spawn_t("monster_chick", new AnonymousClassEntThinkAdapter78(this)), new spawn_t("monster_parasite", M_Parasite.SP_monster_parasite), new spawn_t("monster_flyer", new AnonymousClassEntThinkAdapter79(this)), new spawn_t("monster_brain", new AnonymousClassEntThinkAdapter80(this)), new spawn_t("monster_floater", new AnonymousClassEntThinkAdapter81(this)), new spawn_t("monster_hover", new AnonymousClassEntThinkAdapter82(this)), new spawn_t("monster_mutant", M_Mutant.SP_monster_mutant), new spawn_t("monster_supertank", M_Supertank.SP_monster_supertank), new spawn_t("monster_boss2", new AnonymousClassEntThinkAdapter83(this)), new spawn_t("monster_boss3_stand", new AnonymousClassEntThinkAdapter84(this)), new spawn_t("monster_jorg", new AnonymousClassEntThinkAdapter85(this)), new spawn_t("monster_commander_body", new AnonymousClassEntThinkAdapter86(this)), new spawn_t("turret_breach", new AnonymousClassEntThinkAdapter87(this)), new spawn_t("turret_base", new AnonymousClassEntThinkAdapter88(this)), new spawn_t("turret_driver", new AnonymousClassEntThinkAdapter89(this)), new spawn_t(null, null)};
		}
	}
}